static guint signals[LAST_SIGNAL] = { 0 };
static GQuark provider_list_quark = 0;
+static GdkRGBA fallback_color = { 1.0, 0.75, 0.75, 1.0 };
+static GtkBorder fallback_border = { 0 };
static void gtk_style_context_finalize (GObject *object);
const GValue *value;
GdkRGBA *c;
+ g_return_if_fail (color != NULL);
+ *color = fallback_color;
+
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
priv = context->priv;
data = style_data_lookup (context);
value = _gtk_style_properties_peek_property (data->store,
"color", state);
- c = g_value_get_boxed (value);
- *color = *c;
+
+ if (value)
+ {
+ c = g_value_get_boxed (value);
+ *color = *c;
+ }
}
/**
const GValue *value;
GdkRGBA *c;
+ g_return_if_fail (color != NULL);
+ *color = fallback_color;
+
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
priv = context->priv;
data = style_data_lookup (context);
value = _gtk_style_properties_peek_property (data->store,
"background-color", state);
- c = g_value_get_boxed (value);
- *color = *c;
+
+ if (value)
+ {
+ c = g_value_get_boxed (value);
+ *color = *c;
+ }
}
/**
const GValue *value;
GdkRGBA *c;
+ g_return_if_fail (color != NULL);
+ *color = fallback_color;
+
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
priv = context->priv;
data = style_data_lookup (context);
value = _gtk_style_properties_peek_property (data->store,
"border-color", state);
- c = g_value_get_boxed (value);
- *color = *c;
+
+ if (value)
+ {
+ c = g_value_get_boxed (value);
+ *color = *c;
+ }
}
/**
const GValue *value;
GtkBorder *b;
+ g_return_if_fail (border != NULL);
+ *border = fallback_border;
+
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
priv = context->priv;
data = style_data_lookup (context);
value = _gtk_style_properties_peek_property (data->store,
"border-width", state);
- b = g_value_get_boxed (value);
- *border = *b;
+
+ if (value)
+ {
+ b = g_value_get_boxed (value);
+ *border = *b;
+ }
}
/**
const GValue *value;
GtkBorder *b;
+ g_return_if_fail (padding != NULL);
+ *padding = fallback_border;
+
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
priv = context->priv;
data = style_data_lookup (context);
value = _gtk_style_properties_peek_property (data->store,
"padding", state);
- b = g_value_get_boxed (value);
- *padding = *b;
+
+ if (value)
+ {
+ b = g_value_get_boxed (value);
+ *padding = *b;
+ }
}
/**
const GValue *value;
GtkBorder *b;
+ g_return_if_fail (margin != NULL);
+ *margin = fallback_border;
+
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
priv = context->priv;
data = style_data_lookup (context);
value = _gtk_style_properties_peek_property (data->store,
"margin", state);
- b = g_value_get_boxed (value);
- *margin = *b;
+
+ if (value)
+ {
+ b = g_value_get_boxed (value);
+ *margin = *b;
+ }
}
/**
data = style_data_lookup (context);
value = _gtk_style_properties_peek_property (data->store, "font", state);
- return g_value_get_boxed (value);
+
+ if (value)
+ return g_value_get_boxed (value);
+
+ return NULL;
}
/* Paint methods */